home *** CD-ROM | disk | FTP | other *** search
/ Deluxe Multimedia CD Pack / Deluxe Multimedia CD Pack.iso / v52x / philips / lmpeg-12.11 / linkmpeg.ms_ / linkmpeg.ms
Text File  |  1996-09-18  |  16KB  |  648 lines

  1. ''#######################################
  2. ''
  3. ''              LinkMPEG Player
  4. ''
  5. ''      Install *.DRV *.DLL *.EXE
  6. ''
  7. ''#######################################
  8.  
  9.  
  10. '''''$DEFINE DEBUG
  11.  
  12. '$INCLUDE 'setupapi.inc'
  13. '$INCLUDE 'msdetect.inc'
  14. '$INCLUDE 'msregdb.inc'
  15.  
  16. ''Dialog ID's
  17. CONST WELCOME       = 100
  18. CONST ASKQUIT       = 200
  19. CONST DESTPATH      = 300
  20. CONST EXITFAILURE   = 400
  21. CONST EXITQUIT      = 600
  22. CONST EXITSUCCESS   = 700
  23. CONST APPHELP       = 900
  24. CONST RESTART       = 1200
  25. CONST DIREXISTS     = 1400
  26. CONST BADPATH       = 6400
  27.  
  28. CONST LOGO          = 1
  29.  
  30. GLOBAL DEST$
  31. GLOBAL WINDIR$
  32. GLOBAL WINSYSDIR$
  33. GLOBAL CUIDLL$     
  34. GLOBAL SystemIni$
  35. GLOBAL WinIni$
  36. GLOBAL CtrlIni$
  37.  
  38. GLOBAL DRVR$
  39.  
  40. GLOBAL MpegLabel$
  41. GLOBAL CDILabel$
  42.  
  43.  
  44. DECLARE SUB Install
  45. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  46. DECLARE FUNCTION GetDriveInPath( szPath$) AS STRING
  47.  
  48. DECLARE FUNCTION OnWin3x LIB "setuphlp.DLL" AS INTEGER
  49. DECLARE FUNCTION VflatdPresent LIB "setuphlp.DLL" AS INTEGER
  50. DECLARE FUNCTION GetRealSystemDir LIB "setuphlp.DLL" (szDir$,cbBuf%) AS INTEGER
  51. DECLARE FUNCTION RestartWindows LIB "setuphlp.DLL" AS INTEGER
  52. DECLARE FUNCTION IsWin32FileNewer LIB "setuphlp.DLL" (szOrig$,szNew$) AS INTEGER
  53. DECLARE SUB RenameFilePlease LIB "setuphlp.DLL" (szOrig$,szNew$)
  54.  
  55.  
  56.  
  57. '**========================================================================
  58. INIT:
  59.  
  60.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  61.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  62.  
  63.     SetBitmap CUIDLL$, LOGO
  64.     SetTitle "LinkMPEG Player"
  65.  
  66.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  67.     IF szInf$ = "" THEN
  68.       szInf$ = GetSymbolValue("STF_CWDDIR") + "LINKMPEG.INF"
  69.     END IF
  70.  
  71.     ReadInfFile szInf$
  72.  
  73.     DEST$       = "C:\LINKMPEG"   '' set the default destination to C:\LINKMPEG
  74.     WINDIR$     = GetWindowsDir()
  75.     WINSYSDIR$  = GetWindowsSysDir()
  76.  
  77.     SystemIni$ = MakePath(WINDIR$, "SYSTEM.INI")
  78.     WinIni$    = MakePath(WINDIR$, "WIN.INI")
  79.     CtrlIni$   = MakePath(WINDIR$, "CONTROL.INI")
  80.  
  81.     MpegLabel$ = "MpegVideo"
  82.     CDILabel$ = "CDIVideo"
  83.  
  84.  
  85. '**========================================================================
  86. WELCOME:
  87.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  88.  
  89.     IF sz$ = "CONTINUE" THEN
  90.       UIPop 1
  91.  
  92.     ELSE
  93.       GOSUB ASKQUIT
  94.       GOTO WELCOME
  95.  
  96.     END IF
  97.  
  98.  
  99. '**========================================================================
  100. GETDESTPATH:
  101.     SetSymbolValue "EditTextIn", DEST$
  102.  
  103. GETDESTPATH1:
  104.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  105.     DEST$ = GetSymbolValue("EditTextOut")
  106. '    SrcDir$ = GetSymbolValue( "STF_SRCDIR" )
  107.  
  108.     IF sz$ = "CONTINUE" THEN
  109.  
  110.       IF isDirWritable( DEST$ ) = 0 THEN
  111.         GOSUB BADPATH
  112.         GOTO GETDESTPATH1
  113.  
  114.       END IF
  115.  
  116.       drive$ = GetDriveInPath( DEST$ )  '' check for invalid drive in path
  117.  
  118.       IF IsDriveValid( drive$ ) = 0 THEN
  119.         GOSUB BADPATH
  120.         GOTO GETDESTPATH1
  121.  
  122.       END IF
  123.  
  124.       DestExists% = DoesDirExist( DEST$ )
  125.  
  126.       IF DestExists% = 1 THEN
  127.     GOTO DIREXISTS
  128.  
  129.       END IF
  130.       
  131.     ELSEIF sz$ = "REACTIVATE" THEN
  132.       GOTO GETDESTPATH1
  133.  
  134.     ELSE
  135.       GOSUB ASKQUIT
  136.       GOTO GETDESTPATH
  137.  
  138.     END IF
  139.  
  140. STARTINSTALL:
  141.     UIPopAll
  142.  
  143.     Install
  144.  
  145. '**========================================================================
  146. QUIT:
  147.     ON ERROR GOTO ERRQUIT
  148.  
  149.     IF ERR = 0 THEN
  150.       dlg% = EXITSUCCESS
  151.     ELSEIF ERR = STFQUIT THEN
  152.       dlg% = EXITQUIT
  153.     ELSE
  154.       dlg% = EXITFAILURE
  155.     END IF
  156.  
  157. QUITL1:
  158.     UIPopAll
  159.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  160.     IF sz$ = "REACTIVATE" THEN
  161.       GOTO QUITL1
  162.     END IF
  163.  
  164.     END
  165.  
  166. '**========================================================================
  167. ERRQUIT:
  168.     i% = DoMsgBox("Setup sources corrupted!","Setup Message",MB_OK+MB_TASKMODAL+MB_ICONHAND)
  169.     END
  170.  
  171. '**========================================================================
  172. BADPATH:
  173.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  174.  
  175.     IF sz$ = "REACTIVATE" THEN
  176.       GOTO BADPATH
  177.  
  178.     END IF
  179.  
  180.     UIPop 1
  181.     RETURN
  182.  
  183. '**========================================================================
  184. ASKQUIT:
  185.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  186.  
  187.     IF sz$ = "EXIT" THEN
  188.       UIPopAll
  189.       ERROR STFQUIT
  190.  
  191.     ELSEIF sz$ = "REACTIVATE" THEN
  192.       GOTO ASKQUIT
  193.  
  194.     ELSE
  195.       UIPop 1
  196.  
  197.     END IF
  198.  
  199.     RETURN
  200.  
  201. '**========================================================================
  202. DIREXISTS:
  203.     sz$ = UIStartDlg(CUIDLL$, DIREXISTS, "FInfoDlgProc", APPHELP, HELPPROC$)
  204.  
  205.     IF sz$ = "CONTINUE" THEN
  206.       UIPop 1
  207.       GOTO STARTINSTALL
  208.  
  209.     ELSEIF sz$ = "BACK" THEN
  210.       UIPop 1
  211.       GOTO GETDESTPATH1
  212.  
  213.     ELSE
  214.       GOSUB ASKQUIT
  215.       GOTO DIREXISTS
  216.  
  217.     END IF
  218.  
  219. '****************************************************************
  220. '*                                                              *
  221. '*                              Install                         *
  222. '*                                                              *
  223. '****************************************************************
  224.  
  225. SUB Install STATIC
  226.  
  227.  
  228.     SrcDir$    = GetSymbolValue("STF_SRCDIR")
  229.  
  230.     '
  231.     '  Copy Files
  232.     '
  233.     IF GetWindowsMinorVersion() = 95 THEN
  234.         ''#####################################
  235.         ''              WIN95
  236.         ''#####################################
  237.  
  238.         DRVR$ = "ILMPEG32.DRV"
  239.         UIEXE$ = "LINKMPEG.EXE"
  240.  
  241.         '
  242.         '  Copy Executable Files
  243.         '
  244.         AddSectionFilesToCopyList "LinkMPEG Files", SrcDir$, DEST$
  245.  
  246.         '
  247.         '  Copy DLL
  248.         '
  249.         AddSectionFilesToCopyList "LinkMPEG for WIN95 Driver Files", SrcDir$,WINSYSDIR$
  250.         
  251.     ELSE
  252.         ''#####################################
  253.         ''              WIN31
  254.         ''#####################################
  255.  
  256.         DRVR$ = "ILMPEG.DRV"
  257.         UIEXE$ = "LINKMPEG.EXE"
  258.  
  259.         '
  260.         '  Copy Executable Files
  261.         '
  262.         AddSectionFilesToCopyList "LinkMPEG Files", SrcDir$, DEST$
  263.  
  264.         '
  265.         '  Copy DLL
  266.         '
  267.         AddSectionFilesToCopyList "LinkMPEG Driver Files", SrcDir$,WINSYSDIR$
  268.         
  269.         '
  270.         '  Copy WING Files
  271.         '
  272.         AddSectionFilesToCopyList "WING Files", SrcDir$, WINSYSDIR$
  273.         
  274.         '
  275.         ' only use DVA on Windows 3.x
  276.         '
  277.         IF OnWin3x() = 1 THEN
  278.             AddSectionFilesToCopyList "WING DVA Files", SrcDir$, WINSYSDIR$
  279.             IF VflatdPresent() = 0 THEN
  280.                 CreateSysIniKeyValue SystemIni$, "386Enh", "DEVICE", "dva.386", cmoOverwrite
  281.             END IF
  282.         END IF
  283.  
  284.     END IF
  285.  
  286.         '
  287.         '  Copy ReadMe Files
  288.         '
  289.         AddSectionFilesToCopyList "LinkMPEG ReadMe Files", SrcDir$, DEST$
  290.  
  291. '$IFDEF DEBUG
  292.     OpenLogFile MakePath(DEST$, "LOGFILE.OUT"), 0
  293.     WriteToLogFile ""
  294.     WriteToLogFile "  Destination directory set to: '" + DEST$ + "'"
  295.     WriteToLogFile ""
  296. '$ENDIF ''DEBUG
  297.  
  298.     RemoveFile MakePath(WINDIR$, "MPLAYER.INI"), cmoForce
  299.  
  300. ''  i% = SetCopyMode( 0 )             '' debugging: don't copy files
  301.     i% = SetCopyMode( 1 )             '' copy files
  302.  
  303.     CopyFilesInCopyList
  304.  
  305.  
  306. '$IFDEF DEBUG
  307.     WriteToLogFile ""
  308.     WriteToLogFile " Files copied in copy list... "
  309.     WriteToLogFile ""
  310. '$ENDIF ''DEBUG
  311.  
  312.     cdiDrive$ = DRVR$+" CDI/VCD"
  313.     LinkMPEGPlayerPath$ = MakePath( DEST$,UIEXE$ )
  314.     keydrv$ = "ILMPEG"
  315.  
  316.     '' =================================
  317.     ''          SYSTEM.INI
  318.     '' =================================
  319.  
  320.     '' ---------------------------------
  321.     '' [mci] section:
  322.     ''
  323.     '' MpegVideo=[driver name]
  324.     '' CDIVideo=[driver name]
  325.     '' ---------------------------------
  326.  
  327.     sect$ = "mci"
  328.  
  329.  
  330.     DRIVERNUM% = 0              '' initialize DRIVERNUM to 0
  331.  
  332.     keyExists% = DoesIniKeyExist( SystemIni$, sect$, MpegLabel$ )
  333.  
  334.     IF keyExists% = 1 THEN      '' check for additional MpegVideo drivers
  335.       DRIVERNUM% = DRIVERNUM% +